uniform float speed;
uniform vec4 color;
vec2 center = vec2(.5 ,.5);
#define time czm_frameNumber * speed /1000.
#define tau 6.2831853
float circ(vec2 p) 
{
  float r = length(p);
  r = log(sqrt(r));
  return abs(mod(r*4.,tau)-3.14)*3.+.2;
}
czm_material czm_getMaterial(czm_materialInput materialInput){
  czm_material material = czm_getDefaultMaterial(materialInput);
  vec2 v_st = materialInput.st; // 获取uv坐标
  vec2 uv = v_st;
  vec2 p = vec2( center.x  -uv.x, center.y -uv.y);
  p*=4.;
  float rz = 1.;
  //rings
  p /= exp(mod(time*10.,3.14159));
  rz *= pow(abs((0.1-circ(p))),.9);
  //final color
  vec3 col = vec3(.2,0.1,0.4)/rz;
  col=pow(abs(col),vec3(.99));
  vec4 fragColor = vec4(col,1.);
  material.diffuse = fragColor.rgb * color.rgb;
  material.alpha =  pow(fragColor.r , 1.) * pow(fragColor.g , 1.) *pow(fragColor.b , 1.) ;
  
  return material;
}